/*
 * Lock.h
 *
 *  PEREIRA, FERNANDO ROQUE
 *  91610
 *
 *  Entidad que encapsula el bloqueo y desbloqueo de un mutex, usando RAII
 */

#ifndef LOCK_H_
#define LOCK_H_

#include "Mutex.h"

class Lock {
	Mutex& mutex;

	public:
		// Constructor: lockea. Destructor: unlockea
		Lock(Mutex& mutex):mutex(mutex) {this->mutex.lockMutex();}
		virtual ~Lock();

		void wait();
		void signal();
};

#endif
